/**********************************************************************************************/
/* FBL_UnicodeToFromNumeric.h																  */
/*                                                                       					  */
/* Copyright Paradigma, 1993-2006                                        					  */
/* All Rights Reserved.                                                 					  */
/**********************************************************************************************/

#ifndef _FBL_UnicodeToFromNumeric_h
	#define _FBL_UnicodeToFromNumeric_h
#pragma once

// FBL:
#include <VShared/FBL/publ/Headers/FBL.h>

// FINAL:
#include <VShared/FBL/publ/Headers/FBL_pre_header.h>


/**********************************************************************************************/
FBL_Begin_Namespace


/**********************************************************************************************/
/// unicode string -> long;
/// @inStr - buffer containing string to be converted;
/// @return - resulting long value;
///
FBL_SHARED_EXP long u_utol( const UChar* inStr );


/**********************************************************************************************/
/// long	-> unicode string;
/// assumes that outBuf is at least 20 chars long;
/// @inNum - long to be converted to the string;
/// @outBuf - buffer containing result string;
/// @return - pointer to the end zero after number;
///
FBL_SHARED_EXP UChar* u_ltou( long inNum, UChar* outBuf );


/**********************************************************************************************/
/// unicode string -> ulong;
/// @inStr - buffer containing string to be converted;
/// @return - resulting ulong value;
///
FBL_SHARED_EXP ulong u_ustoul( const UChar* inStr );


/**********************************************************************************************/
/// ulong -> unicode string;
/// assumes that outBuf is at least 20 chars long;
/// @inNum - ulong to be converted to the string;
/// @outBuf - buffer containing result string;
/// @return - pointer to the outBuf;
///
FBL_SHARED_EXP UChar* u_ultous( ulong inNum, UChar* outBuf );


/**********************************************************************************************/
/// unicode string -> double;
/// assumes that outBuf at least 32 chars long;
/// @inStr - buffer containing string to be converted;
/// @return - resulting double value;
///
FBL_SHARED_EXP double	u_utof( const UChar* inStr );


/**********************************************************************************************/
FBL_SHARED_EXP UChar* u_ftos( double inNum, UChar* outBuff );


/**********************************************************************************************/
/// unicode string -> llong
/// @inStr - string to be converted to llong;
/// @return - resulting llong value;
///
FBL_SHARED_EXP llong	u_utoll( const UChar* inStr );


/**********************************************************************************************/
/// llong	-> unicode string
///
FBL_SHARED_EXP UChar*	u_lltou( llong inNum, UChar* outBuf );


/**********************************************************************************************/
/// unicode string -> ullong
///
FBL_SHARED_EXP ullong	u_ustoull( const UChar* inStr );


/**********************************************************************************************/
/// ullong -> unicode string
///
FBL_SHARED_EXP UChar*	u_ulltous( ullong inNum, UChar* outBuf );


/**********************************************************************************************/
FBL_End_Namespace


/**********************************************************************************************/
#include <VShared/FBL/publ/Headers/FBL_post_header.h>


/**********************************************************************************************/
#endif // _FBL_UnicodeToFromNumeric_h
